// AttachableVisitor.h: interface for the AttachableVisitor class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ATTACHABLEVISITOR_H__BBC06C0A_70EB_495C_850B_DD139676C217__INCLUDED_)
#define AFX_ATTACHABLEVISITOR_H__BBC06C0A_70EB_495C_850B_DD139676C217__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "JointPort.h"
#include "PartChain.h"

namespace JointSystem
{

class AttachableVisitor  
{
public:
	AttachableVisitor() {}
	virtual ~AttachableVisitor() {}

public:
	virtual void VisitJointPortOwner( JointPortOwner& ) = 0;
	virtual void VisitPartChain( PartChain& ) = 0;
	virtual void VisitJointPart( JointPart& ) = 0;
	virtual void VisitJointPort( JointPort& ) = 0;
};

};

#endif // !defined(AFX_ATTACHABLEVISITOR_H__BBC06C0A_70EB_495C_850B_DD139676C217__INCLUDED_)
